#!/usr/bin/python3
import linecache
import re
import time
import traceback
import pymysql
from pymysql.converters import escape_string


# ("127.0.0.1", "root", "root", "study_english_database111", sql)       sql = '    '  % escape_string
#  ================================   INSERT    ================================

def insert_interface(host, user, passwod, database, sql):
    db = pymysql.connect(host=host, user=user, password=passwod,
                         database=database)  # 打开数据库连接  主机地址 , 用户名(root) 密码(root) , 数据库名(zzza9d2g5k4t1b0k)
    cursor = db.cursor()  # 使用cursor()方法获取操作游标
    try:
        db.ping(reconnect=True)  # 检查连接是否存在，断开的话会重连
        aaa = cursor.execute(sql)  # 执行sql语句 ,  成功 xxx 条
        db.commit()  # 提交到数据库执行
        cursor.close()  # 关闭数据库连接
        db.close()
        return aaa
    except:
        # 输出异常信息
        traceback.print_exc()  # 采用traceback模块查看异常
        db.rollback()  # 如果发生错误则回滚
        cursor.close()  # 关闭数据库连接
        db.close()
        return "error"




# ("127.0.0.1", "root", "root", "study_english_database111", sql)       sql = '    '  % escape_string
#  ================================   SELECT    ================================

def select_interface(host, user, passwod, database, sql):
    db = pymysql.connect(host=host, user=user, password=passwod,
                         database=database)  # 打开数据库连接  主机地址 , 用户名(root) 密码(root) , 数据库名(zzza9d2g5k4t1b0k)
    cursor = db.cursor()
    try:
        db.ping(reconnect=True)  # 检查连接是否存在，断开的话会重连
        aaa = cursor.execute(sql)  # 执行SQL语句
        results = cursor.fetchall()  # 获取所有记录列表
        # print(aaa)                        # 查询到的总数:  8 条
        # print(type(aaa))                  # 变量类型   : int类型
        # print(type(results))              # <class 'tuple'>
        cursor.close()  # 关闭数据库连接
        db.close()
        return results
    except:
        # 输出异常信息
        traceback.print_exc()  # 采用traceback模块查看异常
        db.rollback()  # 如果发生错误则回滚
        cursor.close()  # 关闭数据库连接
        db.close()
        return "error"





# ("127.0.0.1", "root", "root", "study_english_database111", sql)       sql = '    '  % escape_string
#  ================================   UPDATE    ================================

def update_interface(host, user, passwod, database, sql):
    db = pymysql.connect(host=host, user=user, password=passwod,
                         database=database)  # 打开数据库连接  主机地址 , 用户名(root) 密码(root) , 数据库名(zzza9d2g5k4t1b0k)
    cursor = db.cursor()
    try:
        db.ping(reconnect=True)  # 检查连接是否存在，断开的话会重连
        aaa = cursor.execute(sql)  # 执行sql语句
        db.commit()  # 提交到数据库执行
        cursor.close()  # 关闭数据库连接
        db.close()
        return aaa
    except:
        # 输出异常信息
        traceback.print_exc()  # 采用traceback模块查看异常
        db.rollback()  # 如果发生错误则回滚
        cursor.close()  # 关闭数据库连接
        db.close()
        return "error"
